package cn.com.shopec.erp.product.service;

import java.util.List;

import cn.com.shopec.erp.common.page.PageFinder;
import cn.com.shopec.erp.common.page.PageQuery;
import cn.com.shopec.erp.product.entity.DefectReplce;
import cn.com.shopec.erp.product.vo.DefectReplceVo;

/**
 * @ClassName: IProdDefective
 * @Description: 次品退换货的Service
 * @author: LiangShunWang
 * @date: 2016-11-21 下午16:40:13
 */
public interface IDefectReplceService {

	/**
	 * 
	 * @Title: getPagedBrandList
	 * @Description: 分页查询次品退换信息
	 * @param brandVo
	 * @param pageQuery
	 * @return
	 * @throws @author:
	 *             LiangShunWang
	 * @date: 2016-11-21下午16:52:05
	 */
	public PageFinder<DefectReplceVo> getPagedBrandList(DefectReplceVo defectReplceVo, PageQuery pageQuery)
			throws Exception;


	/**
	 * 
	 * @Title: addBrand
	 * @Description: 添加次品退换信息
	 * @param brandVo
	 * @throws @author:
	 *             duhui
	 * @date: 2013-5-26下午04:15:58
	 */
	public void addDefectReplce(List<DefectReplce> defectiveVo, DefectReplceVo defectReplceVo) throws Exception;

	/**
	 * 
	 * @Title: getBrand
	 * @Description: 根据编号查询次品退货信息
	 * @param productId
	 * @throws Exception
	 * @throws @author:
	 *             LiangShunWang
	 * @date: 2013-5-26下午05:02:06
	 */
	public DefectReplceVo getPurchaseOrder(String DefectReplceId);

	/**
	 * @Title: updatePoProductPriceAndQuantity
	 * @Description:根据次品退货单号查询次品信息
	 * @param DefectReplceId
	 * @throws Exception
	 * @throws @author:
	 *             Liang Shun Wang
	 * @date: 2013-5-24下午9:35:26
	 */
	public PageFinder<DefectReplceVo> getDefectReplceById(String defectReplceId, PageQuery pageQuery) throws Exception;

	/**
	 * @Title: updateAuditResultPurchaseOrder
	 * @Description:次品退货修改状态为待出库
	 * @param poNo
	 * @throws Exception
	 * @throws @author:
	 *             Liang Shun Wang
	 * @date: 2013-5-24下午9:35:26
	 */
	public void updateAuditResultDefectReplce(String defectReplceId, String status) throws Exception;
	
	/**
	 * 次品退货作废
	 * @param defectiveReplceNo
	 * @throws Exception 
	 */
	public boolean delDefectiveReplce(String defectiveReplceNo) throws Exception;

}
